package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.HashSet;
import java.util.List;
import java.util.Map;


/**
   * @ClassName: WmsProvinceRankingReportMapper.java
   * @Description: TODO(这里用一句话描述这个类的作用)
   * @Author lqc
   * @Date Thu Mar 22 18:05:53 CST 2018
   */
   public interface WmsProvinceRankingReportMapper extends BaseDao<WmsProvinceRankingReport> {

   /**
    * 定时保存数据一条记录
    * @param entity 实体对象
    * @return int
    * id,sheng,ddlpm,ddl,ddlbfb,xse,xsezb
    */
    public Integer baseInsert(@Param("WmsProvinceRankingReport1") WmsProvinceRankingReport1 entity);

    /**
     * 直销省市排名（根据时间查询）
     *
     * @param date 时间
     * @return list
     */
    public List<WmsProvinceRankingReport> baseselectbyprimarykey(@Param("date") String date,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 直销省市排名（定时查询）
     *
     * @param date 时间
     * @return list
     */
    public List<WmsProvinceRankingReport1> baseselect(@Param("date") String date);

    /**
     * 直销省市排名（报表导出）
     * @return list
     */
    public List<WmsProvinceRankingReport> baseselectbyprimaryExport(@Param("WmsProvinceRankingReport")WmsProvinceRankingReport WmsProvinceRankingReport);


   /**
    * 各省运费统计（按产品大类）
    * @param
    * @return List<WmsFreightStatisticsInVariousProvinces>
    */
    public List<WmsFreightStatisticsInVariousProvinces> freightStatisticsInVariousProvinces(@Param("str")String str, @Param("state")String state,@Param("type")String type,@Param("hzid")String hzid,@Param("ckid")String ckid);









    /**
     * 各省运费统计（单独查询出省份）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List freightStatisticsInVarious(@Param("state") String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省运费统计（单独查询出省份）报表导出
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List freightStatisticsInVariousExport(@Param("WmsSummaryOfTheSituationInEachProvince") WmsSummaryOfTheSituationInEachProvince WmsSummaryOfTheSituationInEachProvince);

    /**
     * 运费表头
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsHead> WmsFreightHead(@Param("state") String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 运费表头（报表导出）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsHead> WmsFreightHeadExport(@Param("WmsSummaryOfTheSituationInEachProvince") WmsSummaryOfTheSituationInEachProvince WmsSummaryOfTheSituationInEachProvince);


    /**
     * 各省发货支数统计（按产品大类）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsShipmentsInEachProvince> thenumberofshipmentsineachprovince(@Param("str")String str,@Param("state")String state,@Param("type")String type,@Param("hzid")String hzid,@Param("ckid")String ckid);


    /**
     * 各省支数统计（单独查询每个省份）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List freightStatistics(@Param("state") String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

 /**
  * 各省支数统计（查询总计）
  * @param
  * @return List<WmsFreightStatisticsInVariousProvinces>
  */
   // public List<WmsQueryTotal>thenum(@Param("state") String state);
    /**
     * 各省支数统计（支数表头）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsHead> supportnumberhead(@Param("state") String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省销售额统计（按产品大类）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsStatisticsoFsalesIneachProvince> statisticsofsalesineachprovince(@Param("str")String str, @Param("state")String state,@Param("type")String type,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省销售额统计（按产品大类单独统计省份）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List fsalesineachprovince(@Param("state")String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省销售额统计（销售额表头）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsHead> Saleshead( @Param("state")String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省订单量统计（按产品大类）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsShipmentsInEach> statisticsoforderquantityineachprovince(@Param("str")String str, @Param("state")String state,@Param("type")String type,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省订单量统计（按产品大类单独统计省份）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List statisticsoforderquantity(@Param("state")String state,@Param("hzid")String hzid,@Param("ckid")String ckid);

    /**
     * 各省订单量统计（订单量表头）
     * @param
     * @return List<WmsFreightStatisticsInVariousProvinces>
     */
    public List<WmsHead> Orderquantityheader(@Param("state")String state,@Param("hzid")String hzid,@Param("ckid")String ckid);
  /**
  * 发运明细
  * @param
  * @return List<WmsDeliveryDetails>
  */
  public List<WmsDeliveryDetails>Shippingdetails(@Param("ckid") String ckid, @Param("hzid") String hzid);

    /**
     * 发运明细报表导出
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<WmsDeliveryDetails>ShippingdetailsExport(@Param("WmsDeliveryDetails") WmsDeliveryDetails WmsDeliveryDetails);

    /**
     * 发运明细订单级别
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public WmsOrderChannel ShippingOrderLevel(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("id") String id);


    /**
     * 发运明细订单下多少个子节点
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<WmsDeliveryDetails> seachChildrenByFjd(@Param("fjd")String fjd);

    /**
     * 各渠道团队销售额订单量(已发货)
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<SalesChannelOrderStatusSummary> Allchannelteamshavebeenshipped(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("date") String date,@Param("classa") String classa,@Param("classb") String classb);

    /**
     * 各渠道团队销售额订单量（未发货）
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<SalesChannelOrderStatusSummary> AllChannelsAreNotShipped(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("date") String date,@Param("classa") String classa,@Param("classb") String classb);

    /**
     * 各渠道团队销售额订单量（全部订单）
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<SalesChannelOrderStatusSummary> OrderOfAllChannels(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("date") String date,@Param("classa") String classa,@Param("classb") String classb);

    /**
     * 各渠道团队销售额订单量（退单）
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<SalesChannelOrderStatusSummary> RefundOfVariousChannels(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("date") String date,@Param("classa") String classa,@Param("classb") String classb);

    /**
     * 订单状态级别查询
     * @param
     * @return List<WmsDeliveryDetails>
     */
  public List<SalesChannelOrderStatusSummary> Querylevel(@Param("ckid") String ckid, @Param("hzid") String hzid,@Param("date") String date);

    /**
     * 订单状态级别报表导出
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> QuerylevelExport(@Param("SalesChannelOrderStatusSummary") SalesChannelOrderStatusSummary SalesChannelOrderStatusSummary);
}
